A call center is a centralized office used for the purpose of handling a large volume of telephone calls. For example, a call center can be operated by an enterprise to process incoming calls from customers seeking product support or other information, in which the calls are directed to service agents who can then assist the customers. If a service agent is not immediately available to handle an incoming call, the call can be placed in a queue to wait for the next available agent, possibly with other calls that are already queued.
Newer-generation call centers operate in accordance with the Session Initiation Protocol, or “SIP.” SIP-enabled calls work differently than traditional plain-old telephone service calls, or “POTS” calls. For example, in traditional POTS telephony a second party's terminal involved in a call does not receive any specific signal when a first party puts his own terminal on hold. In SIP-enabled telecommunications, in contrast, a SIP-capable first terminal sends a message to the second terminal, indicating the on-hold condition of the first terminal. Typically, this involves the first terminal sending, to the second terminal, a SIP “re-INVITE” with a session description protocol (SDP) that disables one or more media streams, possibly including the stream from the second terminal to the first terminal. As a result, the second terminal receives a positive indication of the first terminal having been put on hold by its user, and disables the media stream to the first terminal. The disabling of the media stream can be beneficial, in that it conserves bandwidth utilization.
As mentioned earlier, the call center can place an incoming call in a queue to wait for the next available agent. While the call is queued, the calling party can choose to put his terminal on hold, perhaps to make a quick call to someone else. Similar to the two-terminal example described above, when the caller's terminal signals the on-hold condition to the call center, the call center can disable the media stream being sent to the terminal. Indeed, the benefit associated with the disabling of the media stream is magnified, in that when multiple callers waiting in the queue put their terminals on hold, even more bandwidth utilization is conserved. However, if a call from an on-hold terminal reaches the top of the queue and is assigned to an agent, the agent will receive the call in an on-hold state and will not be able to communicate with the caller.